It is known that an electronic document may be created from an electronic template. For example, in the context of a word processing application that creates primarily textual documents, it is known that a template may be employed so as to automate a task that may be repeated on a regular or irregular basis. Thus, a person may create an electronic document such as a letter to be mailed to another person, where the letter is a standard or ‘form’ letter with text or the like that is substantially unvarying across multiple similar letters, by directing a word processing application or the like to retrieve a template associated with such application and containing the substantially unvarying text.
As may be appreciated, the text in such a template may be formatted in a particular manner, such as for example in paragraphs of a particular type or ‘style’, within pages having predefined margins, headers, footer and the like, with certain colors, etc. As may also be appreciated, the template may also have non-textual elements, such as for example a picture, a logo, or the like. Moreover, such a template may include references or ‘bookmarks’ to other templates, where each bookmark for example refers to text or other content that does not vary among different templates and documents, such as for example a list of members of a firm, a list of owners, an address of an office, a drawing of a directional map, etc.
As should be understood, each document created from a common template may have common information and also unique information. For example, a form letter sent to multiple people may have a common body, but may differ based on each person to whom the form letter is sent. Thus, the form letter as sent to each person may refer to that person by name in a salutation, and may include a mailing address and/or electronic mail address of such person. To effectuate such unique information in a document created from a template, then, the template typically includes merge codes or the like by which such unique features are automatically entered by way of reference to a data file. In the latter case, and as an example, a template for creating a form letter to be sent to each of multiple persons may include merge codes to retrieve the name and address of each such person from a text document that has already been created and properly formatted.
In connection with a particularly complex task, the templates for effectuating such task also may be particularly complex. For example, if a task involves producing a number of documents to be directed to a number of different persons, the task may be performed by way of a so-called ‘master’ template that refers to a number of individual ‘slave’ templates, where each slave template produces a corresponding document. Notably, the master template and/or the slave templates may include functional code that performs certain actions, such as for example retrieving and/or querying for information to be inserted into the documents created from such templates. Also notably, such information to be inserted may be found in a particular data file which is a text document that has already been created and properly formatted.
As an example, a particularly complex task to be performed may be to construct a number of different legal documents, each of which is to be sent to certain parties. Thus, it may be that a first one of the documents is to be sent to party A, a second one to parties A and B, and a third one to parties C, D, and E. Accordingly, the master template would reference three slave templates, one each to produce the first, second, and third documents, respectively. In operation, and as is known, the master template would among other things direct that the slave template create the first document with the name and address of party A, the second document with the name and address of each of parties A and B, and the third document with the name and address of each of parties C, D, and E, all as found in a corresponding data file. Typically, to create all of the documents based on the master template and corresponding data file, an appropriate run command would be executed that identifies such master template and corresponding data file.
With such master templates, slave templates, and data files, then, particularly complex collections of documents may be constructed from corresponding templates and data files with relative ease by way of an underlying application. Note, though, that to do so, the templates and data files must first themselves be constructed. Typically, although not necessarily, all of the templates and data files are constructed in a format related to the underlying application. For example, if the underlying application is a particular word processing application, then the templates would be constructed according to a template format specific to the particular word processing application, and the data file would be constructed according to a data file format specific to the particular word processing application.
As should be understood, however, such a situation is disadvantageous in at least two regards. For one, constructing templates and data files according to respective formats specific to a particular underlying application may unnecessarily restrict such templates and data files to use only with such particular underlying application, when in fact it may be advantageous to be able to use such templates and data files with other underlying applications. For another, constructing templates and data files according to respective formats specific to a particular underlying application may unnecessarily restrict such templates and data files from producing documents across multiple underlying applications. In the former case, if the underlying application becomes obsolete or otherwise unusable, then the templates and data files are likewise obsolete or otherwise unusable. In the latter case, it may be advantageous to be able to use a single template, for example, to create a letter by way of a word processing application and also to create a presentation according to an unrelated presentation application.
Accordingly, a need exists for systems and methods for creating documents that employ templates and data files constructed and/or maintained in a format that is not specific to any particular underlying application. More particularly, a need exists for such systems and methods where each template and data file is in an independent format. Even more particularly, a need exists for such systems and methods where the data file is embodied within an appropriate database.